package com.wobito.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wobito.pojo.bean.Borrow;
import com.wobito.pojo.dto.api.GetBorrowByPersonIdDTO;
import com.wobito.pojo.dto.api.GetBorrowDTO;
import com.wobito.pojo.dto.borrow.BorrowByPersonDTO;
import com.wobito.pojo.dto.borrow.BorrowDTO;
import com.wobito.pojo.result.ReminderResult;
import com.wobito.pojo.vo.borrow.BorrowVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author lambyang
 * @since 2024-08-29
 */
public interface IBorrowService extends IService<Borrow> {

    /**
     * 根据借阅人查询当前的借阅情况
     * @param personId
     * @return
     */
    List<BorrowByPersonDTO> selectBorrowByPerson(Long personId);

    /**
     * 根据IC编码获取借阅信息
     * @param IcCode
     * @return
     */
    List<GetBorrowByPersonIdDTO> selectBorrowByICCode(String IcCode);

    /**
     * 根据条件查询借阅情况
     * @param borrowVO
     * @return
     */
    List<BorrowDTO> selectBorrowList(BorrowVO borrowVO);

    /**
     * 根据条件查询借阅情况
     * @param personId
     * @param bookId
     * @return
     */
    List<GetBorrowDTO> selectBorrowApi(Long personId,Long bookId);

    /**
     * 逾期、临期提醒
     * @param id
     * @return
     */
    List<ReminderResult> selectBorrowReminderList(Long id);

}
